<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>netaddr.address.IP</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="netaddr-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            >netaddr</th>
          </tr></table></th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <span class="breadcrumbs">
        <a href="netaddr-module.html">Package&nbsp;netaddr</a> ::
        <a href="netaddr.address-module.html" onclick="show_private();">Module&nbsp;address</a> ::
        Class&nbsp;IP
      </span>
    </td>
    <td>
      <table cellpadding="0" cellspacing="0">
        <!-- hide/show private -->
        <tr><td align="right"><span class="options"
            >[<a href="frames.html" target="_top">frames</a
            >]&nbsp;|&nbsp;<a href="netaddr.address.IP-class.html"
            target="_top">no&nbsp;frames</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class IP</h1><p class="nomargin-top"><span class="codelink"><a href="netaddr.address-pysrc.html#IP">source&nbsp;code</a></span></p>
<pre class="base-tree">
object --+    
         |    
      <a href="netaddr.address.Addr-class.html">Addr</a> --+
             |
            <strong class="uidshort">IP</strong>
</pre>

<hr />
<p>Represents <b>individual</b> IPv4 and IPv6 addresses.</p>
  <p><b>Please Note:</b> this class is intended to provide low-level 
  functionality to individual IP addresses such as octet/hextet access, 
  integer/hex/binary conversions, etc. If you are coming from other 
  libraries you may expect to find much higher level networking operations 
  here. While the inclusion of a bitmask prefix or netmask to indicate 
  subnet membership is permitted by the class constructor they are provided
  only as a convenience to the user.</p>
  <p>All higher level subnet and network operations can be found in objects
  of classes <a href="netaddr.address.CIDR-class.html" 
  class="link">CIDR</a>, <a href="netaddr.address.IPRange-class.html" 
  class="link">IPRange</a> and <a 
  href="netaddr.address.Wildcard-class.html" class="link">Wildcard</a>. 
  There are handy helper methods here, (<code>.cidr()</code>, 
  <code>.iprange()</code> and <code>.wildcard()</code>) that return 
  pre-initialised objects of those classes without you having to call them 
  explicitly.</p>
  <p>Example usage :</p>
<pre class="literalblock">
   &gt;&gt;&gt; ip = IP('10.0.0.1')
   &gt;&gt;&gt; list(ip) == [10, 0, 0, 1]
   True
   &gt;&gt;&gt; ip += 1
   &gt;&gt;&gt; str(ip) == '10.0.0.2'
   True

   &gt;&gt;&gt; IP('10.0.0.0/28').iprange()
   IPRange('10.0.0.0', '10.0.0.15')

   &gt;&gt;&gt; IP('10.0.0.64/24').cidr()
   CIDR('10.0.0.0/24')

   &gt;&gt;&gt; IP('192.168.0.1/255.255.253.0').wildcard()
   Wildcard('192.168.0-1.*')

   &gt;&gt;&gt; ipv6 = IP('fe80::20f:1fff:fe12:e733')
   &gt;&gt;&gt; ipv6[0:4]
   [65152, 0, 0, 0]

   &gt;&gt;&gt; IP('fe80::20f:1fff:fe12:e733/64').cidr()
   CIDR('fe80::/64')
</pre>
  <p>See those classes for details on the functionality they provide.</p>

<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td align="left" colspan="2" class="table-header">
    <span class="table-header">Instance Methods</span></td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="netaddr.address.IP-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">addr</span>,
        <span class="summary-sig-arg">addr_type</span>=<span class="summary-sig-default">0</span>)</span><br />
      Constructor.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="netaddr.address-pysrc.html#IP.__init__">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="netaddr.address.IP-class.html#is_netmask" class="summary-sig-name">is_netmask</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Returns:
      <code>True</code> if this addr is a mask that would return a host id,
      <code>False</code> otherwise.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="netaddr.address-pysrc.html#IP.is_netmask">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="netaddr.address.IP-class.html#netmask_bits" class="summary-sig-name">netmask_bits</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Returns:
      If this address is a valid netmask, the number of non-zero bits are 
      returned, otherwise it returns the width in bits for based on the 
      version, 32 for IPv4 and 128 for IPv6.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="netaddr.address-pysrc.html#IP.netmask_bits">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="netaddr.address.IP-class.html#reverse_dns" class="summary-sig-name">reverse_dns</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Returns:
      The reverse DNS lookup string for this IP address</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="netaddr.address-pysrc.html#IP.reverse_dns">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="netaddr.address.IP-class.html#is_hostmask" class="summary-sig-name">is_hostmask</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Returns:
      <code>True</code> if this address is a mask that would return a host 
      id, <code>False</code> otherwise.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="netaddr.address-pysrc.html#IP.is_hostmask">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="netaddr.address.IP-class.html#hostname" class="summary-sig-name">hostname</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Returns:
      Returns the FQDN for this IP address via a DNS query using 
      gethostbyaddr() Python's socket module.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="netaddr.address-pysrc.html#IP.hostname">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="netaddr.address.IP-class.html#cidr" class="summary-sig-name">cidr</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Returns:
      A <a href="netaddr.address.CIDR-class.html" class="link">CIDR</a> 
      object based on this IP address</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="netaddr.address-pysrc.html#IP.cidr">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="netaddr.address.IP-class.html#wildcard" class="summary-sig-name">wildcard</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Returns:
      A <a href="netaddr.address.Wildcard-class.html" 
      class="link">Wildcard</a> object based on this IP address</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="netaddr.address-pysrc.html#IP.wildcard">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="netaddr.address.IP-class.html#iprange" class="summary-sig-name">iprange</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Returns:
      A <a href="netaddr.address.CIDR-class.html" class="link">CIDR</a> 
      object based on this IP address</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="netaddr.address-pysrc.html#IP.iprange">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="netaddr.address.IP-class.html#ipv4" class="summary-sig-name">ipv4</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Returns:
      A new version 4 <a href="netaddr.address.IP-class.html" 
      class="link">IP</a> object numerically equivalent this address.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="netaddr.address-pysrc.html#IP.ipv4">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="netaddr.address.IP-class.html#ipv6" class="summary-sig-name">ipv6</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">ipv4_compatible</span>=<span class="summary-sig-default">False</span>)</span><br />
      <b>Please Note:</b> the IPv4-Mapped IPv6 address format is now 
      considered deprecated.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="netaddr.address-pysrc.html#IP.ipv6">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="netaddr.address.IP-class.html#is_unicast" class="summary-sig-name">is_unicast</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Returns:
      <code>True</code> if this IP is unicast, <code>False</code> otherwise</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="netaddr.address-pysrc.html#IP.is_unicast">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="netaddr.address.IP-class.html#is_loopback" class="summary-sig-name">is_loopback</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Returns:
      <code>True</code> if this IP is loopback address (not for network 
      transmission), <code>False</code> otherwise.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="netaddr.address-pysrc.html#IP.is_loopback">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="netaddr.address.IP-class.html#is_multicast" class="summary-sig-name">is_multicast</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Returns:
      <code>True</code> if this IP is multicast, <code>False</code> 
      otherwise</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="netaddr.address-pysrc.html#IP.is_multicast">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="netaddr.address.IP-class.html#is_private" class="summary-sig-name">is_private</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Returns:
      <code>True</code> if this IP is for internal/private use only (i.e.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="netaddr.address-pysrc.html#IP.is_private">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="netaddr.address.IP-class.html#is_link_local" class="summary-sig-name">is_link_local</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Returns:
      <code>True</code> if this IP is link-local address <code>False</code>
      otherwise.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="netaddr.address-pysrc.html#IP.is_link_local">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="netaddr.address.IP-class.html#is_reserved" class="summary-sig-name">is_reserved</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Returns:
      <code>True</code> if this IP is in IANA reserved range, 
      <code>False</code> otherwise.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="netaddr.address-pysrc.html#IP.is_reserved">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="netaddr.address.IP-class.html#is_ipv4_mapped" class="summary-sig-name">is_ipv4_mapped</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Returns:
      <code>True</code> if this IP is IPv4-compatible IPv6 address, 
      <code>False</code> otherwise.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="netaddr.address-pysrc.html#IP.is_ipv4_mapped">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="netaddr.address.IP-class.html#is_ipv4_compat" class="summary-sig-name">is_ipv4_compat</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Returns:
      <code>True</code> if this IP is IPv4-mapped IPv6 address, 
      <code>False</code> otherwise.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="netaddr.address-pysrc.html#IP.is_ipv4_compat">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="netaddr.address.IP-class.html#info" class="summary-sig-name">info</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Returns:
      A record dict containing IANA registration details for this IP 
      address if available, None otherwise.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="netaddr.address-pysrc.html#IP.info">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="netaddr.address.IP-class.html#__str__" class="summary-sig-name">__str__</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Returns:
      common string representation for this IP address</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="netaddr.address-pysrc.html#IP.__str__">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="netaddr.address.IP-class.html#__repr__" class="summary-sig-name">__repr__</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Returns:
      executable Python string to recreate equivalent object.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="netaddr.address-pysrc.html#IP.__repr__">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="netaddr.address.Addr-class.html">Addr</a></code></b>:
      <code><a href="netaddr.address.Addr-class.html#__add__">__add__</a></code>,
      <code><a href="netaddr.address.Addr-class.html#__and__">__and__</a></code>,
      <code><a href="netaddr.address.Addr-class.html#__eq__">__eq__</a></code>,
      <code><a href="netaddr.address.Addr-class.html#__ge__">__ge__</a></code>,
      <code><a href="netaddr.address.Addr-class.html#__getitem__">__getitem__</a></code>,
      <code><a href="netaddr.address.Addr-class.html#__gt__">__gt__</a></code>,
      <code><a href="netaddr.address.Addr-class.html#__hash__">__hash__</a></code>,
      <code><a href="netaddr.address.Addr-class.html#__hex__">__hex__</a></code>,
      <code><a href="netaddr.address.Addr-class.html#__iadd__">__iadd__</a></code>,
      <code><a href="netaddr.address.Addr-class.html#__int__">__int__</a></code>,
      <code><a href="netaddr.address.Addr-class.html#__invert__">__invert__</a></code>,
      <code><a href="netaddr.address.Addr-class.html#__isub__">__isub__</a></code>,
      <code><a href="netaddr.address.Addr-class.html#__iter__">__iter__</a></code>,
      <code><a href="netaddr.address.Addr-class.html#__le__">__le__</a></code>,
      <code><a href="netaddr.address.Addr-class.html#__len__">__len__</a></code>,
      <code><a href="netaddr.address.Addr-class.html#__long__">__long__</a></code>,
      <code><a href="netaddr.address.Addr-class.html#__lshift__">__lshift__</a></code>,
      <code><a href="netaddr.address.Addr-class.html#__lt__">__lt__</a></code>,
      <code><a href="netaddr.address.Addr-class.html#__ne__">__ne__</a></code>,
      <code><a href="netaddr.address.Addr-class.html#__or__">__or__</a></code>,
      <code><a href="netaddr.address.Addr-class.html#__rshift__">__rshift__</a></code>,
      <code><a href="netaddr.address.Addr-class.html#__setitem__">__setitem__</a></code>,
      <code><a href="netaddr.address.Addr-class.html#__sub__">__sub__</a></code>,
      <code><a href="netaddr.address.Addr-class.html#__xor__">__xor__</a></code>,
      <code><a href="netaddr.address.Addr-class.html#bin">bin</a></code>,
      <code><a href="netaddr.address.Addr-class.html#bits">bits</a></code>,
      <code><a href="netaddr.address.Addr-class.html#packed">packed</a></code>
      </p>
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
      <code>__delattr__</code>,
      <code>__getattribute__</code>,
      <code>__new__</code>,
      <code>__reduce__</code>,
      <code>__reduce_ex__</code>,
      <code>__setattr__</code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== CLASS VARIABLES ==================== -->
<a name="section-ClassVariables"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td align="left" colspan="2" class="table-header">
    <span class="table-header">Class Variables</span></td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="netaddr.address.IP-class.html#STRATEGIES" class="summary-name">STRATEGIES</a> = <code title="(IPv4StrategyOpt(32, 8, '.', 4, 10, False),
 IPv6Strategy(128, 16, ':', 6, 16, False))"><code class="variable-group">(</code>IPv4StrategyOpt(32, 8, '.', 4, 10, False)<code class="variable-op">, </code>IPv6S<code class="variable-ellipsis">...</code></code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="ADDR_TYPES"></a><span class="summary-name">ADDR_TYPES</span> = <code title="(0, 4, 6)"><code class="variable-group">(</code>0<code class="variable-op">, </code>4<code class="variable-op">, </code>6<code class="variable-group">)</code></code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a href="netaddr.address.IP-class.html#TRANSLATE_STR" class="summary-name">TRANSLATE_STR</a> = <code title="'''\x00\x01\x02\x03\x04\x05\x06\x07\x08\t
\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\
\x1d\x1e\x1f !&quot;#$%&amp;\'()*+,-./0123456789:;&lt;=&gt;?@ABCDEFGHIJKLMNOPQRSTUVWX\
YZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x8\
6\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\\
x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa\
9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\\
xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xc\
..."><code class="variable-quote">'</code><code class="variable-string">\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\</code><code class="variable-ellipsis">...</code></code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="strategy"></a><span class="summary-name">strategy</span> = <code title="StrategyDescriptor(STRATEGIES)">StrategyDescriptor(STRATEGIES)</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="addr_type"></a><span class="summary-name">addr_type</span> = <code title="AddrTypeDescriptor(ADDR_TYPES)">AddrTypeDescriptor(ADDR_TYPES)</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="prefixlen"></a><span class="summary-name">prefixlen</span> = <code title="PrefixLenDescriptor()">PrefixLenDescriptor()</code>
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
        <a name="_"></a><span class="summary-name">_</span> = <code title="255">255</code>
    </td>
  </tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code><a href="netaddr.address.Addr-class.html">Addr</a></code></b>:
      <code><a href="netaddr.address.Addr-class.html#value">value</a></code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== PROPERTIES ==================== -->
<a name="section-Properties"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td align="left" colspan="2" class="table-header">
    <span class="table-header">Properties</span></td>
</tr>
  <tr>
    <td colspan="2" class="summary">
    <p class="indent-wrapped-lines"><b>Inherited from <code>object</code></b>:
      <code>__class__</code>
      </p>
    </td>
  </tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td align="left" colspan="2" class="table-header">
    <span class="table-header">Method Details</span></td>
</tr>
</table>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">addr</span>,
        <span class="sig-arg">addr_type</span>=<span class="sig-default">0</span>)</span>
    <br /><em class="fname">(Constructor)</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="netaddr.address-pysrc.html#IP.__init__">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Constructor.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>addr</code></strong> - an IPv4 or IPv6 address string with an optional subnet prefix or 
          a network byte order integer.</li>
        <li><strong class="pname"><code>addr_type</code></strong> - (optional) the IP address type (<code>AT_INET</code> or 
          <code>AT_INET6</code>). If <code class="link">addr</code> is an 
          integer, this argument is mandatory.</li>
    </ul></dd>
    <dt>Overrides:
        object.__init__
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="is_netmask"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">is_netmask</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="netaddr.address-pysrc.html#IP.is_netmask">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  
  <dl class="fields">
    <dt>Returns:</dt>
        <dd><code>True</code> if this addr is a mask that would return a host
          id, <code>False</code> otherwise.</dd>
  </dl>
</td></tr></table>
</div>
<a name="netmask_bits"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">netmask_bits</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="netaddr.address-pysrc.html#IP.netmask_bits">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  
  <dl class="fields">
    <dt>Returns:</dt>
        <dd>If this address is a valid netmask, the number of non-zero bits 
          are returned, otherwise it returns the width in bits for based on
          the version, 32 for IPv4 and 128 for IPv6.</dd>
  </dl>
</td></tr></table>
</div>
<a name="reverse_dns"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">reverse_dns</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="netaddr.address-pysrc.html#IP.reverse_dns">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  
  <dl class="fields">
    <dt>Returns:</dt>
        <dd>The reverse DNS lookup string for this IP address</dd>
  </dl>
</td></tr></table>
</div>
<a name="is_hostmask"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">is_hostmask</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="netaddr.address-pysrc.html#IP.is_hostmask">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  
  <dl class="fields">
    <dt>Returns:</dt>
        <dd><code>True</code> if this address is a mask that would return a 
          host id, <code>False</code> otherwise.</dd>
  </dl>
</td></tr></table>
</div>
<a name="hostname"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">hostname</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="netaddr.address-pysrc.html#IP.hostname">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  
  <dl class="fields">
    <dt>Returns:</dt>
        <dd>Returns the FQDN for this IP address via a DNS query using 
          gethostbyaddr() Python's socket module.</dd>
  </dl>
</td></tr></table>
</div>
<a name="cidr"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">cidr</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="netaddr.address-pysrc.html#IP.cidr">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  
  <dl class="fields">
    <dt>Returns:</dt>
        <dd>A <a href="netaddr.address.CIDR-class.html" class="link">CIDR</a>
          object based on this IP address</dd>
  </dl>
</td></tr></table>
</div>
<a name="wildcard"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">wildcard</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="netaddr.address-pysrc.html#IP.wildcard">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  
  <dl class="fields">
    <dt>Returns:</dt>
        <dd>A <a href="netaddr.address.Wildcard-class.html" 
          class="link">Wildcard</a> object based on this IP address</dd>
  </dl>
</td></tr></table>
</div>
<a name="iprange"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">iprange</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="netaddr.address-pysrc.html#IP.iprange">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  
  <dl class="fields">
    <dt>Returns:</dt>
        <dd>A <a href="netaddr.address.CIDR-class.html" class="link">CIDR</a>
          object based on this IP address</dd>
  </dl>
</td></tr></table>
</div>
<a name="ipv4"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">ipv4</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="netaddr.address-pysrc.html#IP.ipv4">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  
  <dl class="fields">
    <dt>Returns:</dt>
        <dd>A new version 4 <a href="netaddr.address.IP-class.html" 
          class="link">IP</a> object numerically equivalent this address. 
          If this object is already IPv4 then a copy is returned. If this 
          object is IPv6 and its value is compatible with IPv4, a new IPv4 
          <a href="netaddr.address.IP-class.html" class="link">IP</a> 
          object is returned.
          <p>Raises an <a href="netaddr.AddrConversionError-class.html" 
          class="link">AddrConversionError</a> is IPv6 address cannot be 
          converted.</p></dd>
  </dl>
</td></tr></table>
</div>
<a name="ipv6"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">ipv6</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">ipv4_compatible</span>=<span class="sig-default">False</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="netaddr.address-pysrc.html#IP.ipv6">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p><b>Please Note:</b> the IPv4-Mapped IPv6 address format is now 
  considered deprecated. Reference: RFC 4291</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>ipv4_compatible</code></strong> - If <code>True</code> returns an IPv4-Mapped address 
          (::ffff:x.x.x.x), an IPv4-Compatible (::x.x.x.x) address 
          otherwise. Default: False (IPv4-Mapped).</li>
    </ul></dd>
    <dt>Returns:</dt>
        <dd>A new <a href="netaddr.address.IP-class.html" class="link">IP</a>
          version 6 object that is numerically equivalent this address. If 
          this object is already IPv6 then a copy of this object is 
          returned. If this object is IPv4, a new version 6 <a 
          href="netaddr.address.IP-class.html" class="link">IP</a> object 
          is returned.</dd>
  </dl>
</td></tr></table>
</div>
<a name="is_unicast"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">is_unicast</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="netaddr.address-pysrc.html#IP.is_unicast">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  
  <dl class="fields">
    <dt>Returns:</dt>
        <dd><code>True</code> if this IP is unicast, <code>False</code> 
          otherwise</dd>
  </dl>
</td></tr></table>
</div>
<a name="is_loopback"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">is_loopback</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="netaddr.address-pysrc.html#IP.is_loopback">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  
  <dl class="fields">
    <dt>Returns:</dt>
        <dd><code>True</code> if this IP is loopback address (not for network
          transmission), <code>False</code> otherwise. References: RFC 3330
          and 4291.</dd>
  </dl>
</td></tr></table>
</div>
<a name="is_multicast"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">is_multicast</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="netaddr.address-pysrc.html#IP.is_multicast">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  
  <dl class="fields">
    <dt>Returns:</dt>
        <dd><code>True</code> if this IP is multicast, <code>False</code> 
          otherwise</dd>
  </dl>
</td></tr></table>
</div>
<a name="is_private"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">is_private</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="netaddr.address-pysrc.html#IP.is_private">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  
  <dl class="fields">
    <dt>Returns:</dt>
        <dd><code>True</code> if this IP is for internal/private use only 
          (i.e. non-public), <code>False</code> otherwise. Reference: RFCs 
          1918, 3330, 4193, 3879 and 2365.</dd>
  </dl>
</td></tr></table>
</div>
<a name="is_link_local"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">is_link_local</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="netaddr.address-pysrc.html#IP.is_link_local">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  
  <dl class="fields">
    <dt>Returns:</dt>
        <dd><code>True</code> if this IP is link-local address 
          <code>False</code> otherwise. Reference: RFCs 3927 and 4291.</dd>
  </dl>
</td></tr></table>
</div>
<a name="is_reserved"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">is_reserved</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="netaddr.address-pysrc.html#IP.is_reserved">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  
  <dl class="fields">
    <dt>Returns:</dt>
        <dd><code>True</code> if this IP is in IANA reserved range, 
          <code>False</code> otherwise. Reference: RFCs 3330 and 3171.</dd>
  </dl>
</td></tr></table>
</div>
<a name="is_ipv4_mapped"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">is_ipv4_mapped</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="netaddr.address-pysrc.html#IP.is_ipv4_mapped">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  
  <dl class="fields">
    <dt>Returns:</dt>
        <dd><code>True</code> if this IP is IPv4-compatible IPv6 address, 
          <code>False</code> otherwise.</dd>
  </dl>
</td></tr></table>
</div>
<a name="is_ipv4_compat"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">is_ipv4_compat</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="netaddr.address-pysrc.html#IP.is_ipv4_compat">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  
  <dl class="fields">
    <dt>Returns:</dt>
        <dd><code>True</code> if this IP is IPv4-mapped IPv6 address, 
          <code>False</code> otherwise.</dd>
  </dl>
</td></tr></table>
</div>
<a name="info"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">info</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="netaddr.address-pysrc.html#IP.info">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  
  <dl class="fields">
    <dt>Returns:</dt>
        <dd>A record dict containing IANA registration details for this IP 
          address if available, None otherwise.</dd>
  </dl>
</td></tr></table>
</div>
<a name="__str__"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__str__</span>(<span class="sig-arg">self</span>)</span>
    <br /><em class="fname">(Informal representation operator)</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="netaddr.address-pysrc.html#IP.__str__">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>str(x)</p>
  <dl class="fields">
    <dt>Returns:</dt>
        <dd>common string representation for this IP address</dd>
    <dt>Overrides:
        object.__str__
    </dt>
  </dl>
</td></tr></table>
</div>
<a name="__repr__"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__repr__</span>(<span class="sig-arg">self</span>)</span>
    <br /><em class="fname">(Representation operator)</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="netaddr.address-pysrc.html#IP.__repr__">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>repr(x)</p>
  <dl class="fields">
    <dt>Returns:</dt>
        <dd>executable Python string to recreate equivalent object.</dd>
    <dt>Overrides:
        object.__repr__
    </dt>
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== CLASS VARIABLE DETAILS ==================== -->
<a name="section-ClassVariableDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td align="left" colspan="2" class="table-header">
    <span class="table-header">Class Variable Details</span></td>
</tr>
</table>
<a name="STRATEGIES"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <h3 class="epydoc">STRATEGIES</h3>
  
  <dl class="fields">
  </dl>
  <dl class="fields">
    <dt>Value:</dt>
      <dd><table><tr><td><pre class="variable">
<code class="variable-group">(</code>IPv4StrategyOpt(32, 8, '.', 4, 10, False)<code class="variable-op">,</code>
 IPv6Strategy(128, 16, ':', 6, 16, False)<code class="variable-group">)</code>
</pre></td></tr></table>
</dd>
  </dl>
</td></tr></table>
</div>
<a name="TRANSLATE_STR"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <h3 class="epydoc">TRANSLATE_STR</h3>
  
  <dl class="fields">
  </dl>
  <dl class="fields">
    <dt>Value:</dt>
      <dd><table><tr><td><pre class="variable">
<code class="variable-quote">'''</code><code class="variable-string">\x00\x01\x02\x03\x04\x05\x06\x07\x08\t</code>
<code class="variable-string">\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c</code><span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
<code class="variable-string">\x1d\x1e\x1f !&quot;#$%&amp;\'()*+,-./0123456789:;&lt;=&gt;?@ABCDEFGHIJKLMNOPQRSTUVWX</code><span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
<code class="variable-string">YZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f\x80\x81\x82\x83\x84\x85\x8</code><span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
<code class="variable-string">6\x87\x88\x89\x8a\x8b\x8c\x8d\x8e\x8f\x90\x91\x92\x93\x94\x95\x96\x97\</code><span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
<code class="variable-string">x98\x99\x9a\x9b\x9c\x9d\x9e\x9f\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7\xa8\xa</code><span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
<code class="variable-string">9\xaa\xab\xac\xad\xae\xaf\xb0\xb1\xb2\xb3\xb4\xb5\xb6\xb7\xb8\xb9\xba\</code><span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
<code class="variable-string">xbb\xbc\xbd\xbe\xbf\xc0\xc1\xc2\xc3\xc4\xc5\xc6\xc7\xc8\xc9\xca\xcb\xc</code><span class="variable-linewrap"><img src="crarr.png" alt="\" /></span>
<code class="variable-ellipsis">...</code>
</pre></td></tr></table>
</dd>
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="netaddr-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            >netaddr</th>
          </tr></table></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc 3.0.1 on Wed Jan 21 23:41:06 2009
    </td>
    <td align="right" class="footer">
      <a target="mainFrame" href="http://epydoc.sourceforge.net"
        >http://epydoc.sourceforge.net</a>
    </td>
  </tr>
</table>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them.  So hide
  // them unless we have a cookie that says to show them.
  checkCookie();
  // -->
</script>
</body>
</html>
